package com.zg.third.api.domain.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * DESCRIPTION
 *
 * @author zhanfeng.liang
 * @since 2025-07-29
 */

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class QccResult<T> implements Serializable {

    @JsonProperty("Status")
    private String status; // 状态码（如"200"）

    @JsonProperty("Message")
    private String message; // 状态描述

    @JsonProperty("OrderNumber")
    private String orderNumber; // 订单号

    @JsonProperty("Paging")
    private Paging paging; // 分页信息


    @JsonProperty("Result")
    private T result; // 结果主体

    public Boolean isOk(){
        return this.status.equals(200);
    }

    /**
     * 分页信息
     */
    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Paging implements Serializable {
        @JsonProperty("PageSize")
        private Integer pageSize; // 每页大小
        @JsonProperty("PageIndex")
        private Integer pageIndex; // 当前页码
        @JsonProperty("TotalRecords")
        private Integer totalRecords; // 总记录数
    }
}
